Systems and methods for enabling exercise equipment to communicate with a network

ABSTRACT

This disclosure provides systems, methods, and apparatus for enabling exercise by a user. In one aspect, an apparatus includes a communication unit, a user interface unit, and a processor. The processor may receive user identification data from the user via the user interface unit and retrieve data based on the user identification data from an electronic data store. The processor may use the data to generate an exercise routine and command signals may be sent to an exercise machine based on the generated exercise routine. The processor may receive exercise data from the exercise machine via the communication unit and store the exercise data in the electronic data store.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 61/545,004, entitled “SYSTEMS AND METHODS FOR ENABLING EXERCISE EQUIPMENT TO COMMUNICATE WITH A NETWORK” and filed on Oct. 7, 2011, the entire contents of which disclosure is herewith incorporated by reference.

BACKGROUND

1. Field

This disclosure generally relates to networked exercise machines and more particularly to improved methods and systems for enabling exercise equipment to store energy, collect user data, and transmit such data over a network.

2. Description of the Related Art

Many gymnasiums provide customers with access to aerobic and/or lifting exercise equipment. Generally, customers that wish to keep track of their physical fitness and develop a custom exercise routine must either manually enter information related to their physical activity into a computer or hire a personal trainer. Both options are inefficient, time consuming, and important data may be lost due to inattention, or simply is not captured at all with conventional equipment. What are needed are systems and methods that solve these problems.

SUMMARY OF THE INVENTION

Various implementations of systems, methods and devices within the scope of the appended claims each have several aspects, no single one of which is solely responsible for the desirable attributes described herein. Without limiting the scope of the appended claims, some prominent features are described herein.

One aspect of the disclosure provides an apparatus to enable exercise by a user. The apparatus comprises a communication unit configured to receive and transmit data over a network. The apparatus further comprises a user interface unit configured to receive input from and present information to the user. The apparatus further comprises a processor in communication with the communication unit and the user interface unit. The processor may be configured to receive, via the user interface unit, user identification data from the user, where the user identification data may be transmitted by the communication unit to an electronic data store over the network. The processor may be further configured to receive, via the communication unit, user data from the electronic data store in response to transmission of the user identification data, where the user data may comprise user health data and at least one application. The processor may be further configured to identify a first application selected by the user via the user interface unit. The processor may be further configured to generate an exercise routine based on execution of the first application. The processor may be further configured to generate command signals based on the generated exercise routine, where the command signals may be transmitted to an exercise machine via the communication unit. The processor may be further configured to receive, via the communication unit, exercise data from the exercise machine in response to transmission of the command signals. The processor may be further configured to transmit, via the communication unit, the exercise data in the electronic data store.

Another aspect of the disclosure provides a system for enabling competitive exercising. The system comprises a server device configured to relay data over a network. The system further comprises a first network device in communication with the server device via the network. The first network device may be configured to execute a competition program in response to a request by a first user. The first network device may be further configured to identify a second user that the server device indicates is available and that is selected by the first user. The first network device may be further configured to identify an application selected by the first user. The first network device may be further configured to generate an exercise routine based on execution of the application. The first network device may be further configured to transmit command signals to a first exercise machine. The first network device may be further configured to receive first user exercise data from the first exercise machine. The first network device may be further configured to transmit the first user exercise data to the server device. The first network device may be further configured to receive second user exercise data from the server device. The first network device may be further configured to display the second user exercise data. The system further comprises a second network device in communication with the server device via the network. The second network device may be configured to transmit data to the server device indicating that the second user is available. The second network device may be further configured to receive the command signals from the first network device in response to a selection of the second user by the first user. The second network device may be further configured to transmit the command signals to a second exercise machine. The second network device may be further configured to receive the second user exercise data from the second exercise machine. The second network device may be further configured to transmit the second user exercise data to the server device. The second network device may be further configured to receive the first user exercise data from the server device. The second network device may be further configured to display the first user exercise data.

Another aspect of the disclosure provides a system for providing charging power. The system comprises an exercise machine configured to generate power based on a use of the exercise machine by a user. The exercise machine may be further configured to track an amount of power generated by the exercise machine. The exercise machine may be further configured to transmit the power generated by the exercise machine to an energy storage device. The system further comprises an energy allocation controller in communication with the exercise machine. The energy allocation controller may be configured to receive a message from the exercise machine, where the message may comprise an indication of the amount of power generated by the exercise machine and an identity of the user. The energy allocation controller may be further configured to determine a percentage value associated with the user, where the percentage value may be based on a percentage of a total amount of power stored in the energy storage device that is contributed by the exercise machine. The energy allocation controller may be further configured to transmit command signals to the energy storage device, where the command signals may instruct the energy storage device to transmit a percentage of the total amount of power stored in the energy storage device to a charging station associated with the user. The percentage of the total amount of power may be based on the percentage value.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and aspects, and advantages of the embodiments of the invention are described in detail below with reference to the drawings of various embodiments, which are intended to illustrate and not to limit the invention. The drawings include the following figures in which:

FIG. 1A is a block diagram depicting an embodiment of an exercise machine that is connected to a network via a network communication device.

FIG. 1B is a block diagram depicting an embodiment of an exercise machine that includes a network communication device for communication with a network.

FIG. 1C is a block diagram depicting an embodiment of a user handheld device that can acquire user health data and communicate with a network.

FIG. 2 is a block diagram depicting an embodiment of a more detailed network communication device.

FIG. 3 is a block diagram depicting an embodiment of at least two network communication devices in communication with each other and with exercise machines.

FIG. 4 is block diagram depicting an embodiment of a user handheld device in communication with a network and a user communication device.

FIG. 5 is a block diagram depicting an embodiment of a more detailed user communication device.

FIG. 6 is a flow chart depicting an embodiment of a process for loading and executing an application on an exercise machine to capture and store a user's health data.

FIG. 7 is a flow chart depicting an embodiment of a process for loading and executing at least one application on at least two exercise machines to allow at least two users to exercise and/or compete with each other.

FIG. 8 is a block diagram depicting an embodiment of a device charging system.

DETAILED DESCRIPTION OF THE EMBODIMENT

In general, customers of gymnasiums and people who would like to stay fit may track data relating to their workout in order to improve their performance. Exercise machines, specifically aerobic machines like ellipticals and treadmills, can detect a user's heart rate, the number of calories burned, and the distance traveled. However, if a user wished to record such data, the user would have to manually enter it into his or her paper records, handheld device, computer, or other database. In fact, exercise machines that allow a user to lift weights do not calculate any workout-related data. This means that a user would have to remember and later record how much weight was lifted, how many reps were done, and how many sets were completed. Even if the user did remember to store the workout-related data, the user would still need to retrieve the data manually to determine how best to structure a future exercise routine in order to maximize performance. Accordingly, there is a need for a system that can automatically calculate workout-related data, store it at a central repository, and retrieve it at a later time to improve a user's workout performance.

In addition, many aerobic exercise machines may have pre-selected programs available for a user to select and run. For example, on an elliptical, a user may be able to select a program that simulates running on rolling hills, running uphill, or running downhill. However, these pre-selected programs only give a limited number of options to the users. The programs may allow a user to select distances to run in specified increments or an exact time to run in specified increments. Both male and female persons frequent gymnasiums or purchase exercise machines and are of all ages, heights, weights, and ethnicities. Accordingly, there is a need for a system that can execute any application of the user's choosing to ensure that the user is working out efficiently.

Accordingly, the systems and methods described herein can be used to improve workout performance. In an embodiment, the system automatically collects, stores, and retrieves a user's health and/or workout data. For example, a user's health and/or workout data can include, without limitation, age, sex, geographical location, ethnicity, the number of reps done, the number of sets completed, the time taken between reps, the time taken between sets, the amount of weight lifted, distance run, speed, number of calories consumed, number of calories burned, heart rate, wattage produced, exercise equipment used, which exercise equipment is used the most, which exercise equipment is used the least, the time of day the workout took place, the time of the year the workout took place, preexisting conditions, prior injuries, muscle gained, fat lost, or the like.

In further embodiments, the collected speed and/or heart rate data can be broken into time intervals such that a user could view his or her speed data or heart rate data between certain points during the exercise. Time intervals could be in the milliseconds, seconds, minutes, or the like. A user may find such information helpful in determining the time of peak performance or optimal ways to work out. In addition, such information can be useful to advertisers that produce advertisements for the system as described below.

In some embodiments, the number of calories consumed can be entered manually by the user via a website or other portal accessible via a network. In other embodiments, the number of calories consumed can be collected by a user's portable device, such as a cell phone, a smart phone, an iPod, an iPad, a tablet, a camera, a PDA, a laptop, or the like. For example, the user could input the number of calories consumed by verbally communicating with the user's portable device as to what food was eaten. Likewise, a portable device equipped with a near field communication (NFC) chip could be used to purchase food products to be consumed by the user. The portable device could then estimate the number of calories consumed by the user based on the food products purchased. Furthermore, a portable device could be used to take a photograph of a food product to be consumed by the user. The portable device can then compare the photograph taken with known food products in order to determine the type of food consumed and the number of calories consumed. The portable device can access a network such as the Internet in order to identify the food product in a given photograph.

In an embodiment, a user's health and/or workout data can be collected from the user directly through a website or other portal accessible via a network. The user's health and/or workout data can then be stored in a central repository. Alternatively or in conjunction, the user's health and/or workout data can be stored in a personal device, like a cell phone, a smart phone, a tablet, a PDA, a camera, a flash drive, a memory card, an optical disc, a laptop, a desktop, or the like. In another embodiment, the user's health and/or workout data can be collected from a handheld device associated with the user. The handheld device can then transmit the health and/or workout data to the central repository. In another embodiment, the user's health and/or workout data can be collected from an exercise machine in use by the user. To collect health data such as heart rate or the like, sensors can be attached to the handles or to a clip that the user can wear, or the data can be collected directly from the exercise machine in use (e.g., via sensors attached to, embedded within, or otherwise located within the exercise machine, etc.). The sensors may communicate measurements that are captured via a wired or wireless connection. When the user is exercising on an aerobic machine, sensors that can detect the number of revolutions can be used to collect workout data such as distance run, speed, calories burned, or the like. Such sensors can be located externally to the aerobic machine (e.g., attached to the aerobic machine) or can be embedded within the aerobic machine. When the user is exercising on a lifting machine, sensors like, without limitation, pressure sensors, accelerometers, or tension sensors, can be used to collect workout data such as the number of reps, the number of sets, the amount of weight lifted, wattage produced, or the like. Such sensors can be located externally to the lifting machine (e.g., attached to the lifting machine) or can be embedded within the lifting machine (e.g., within the structure of the lifting machine, within the weights of the lifting machine, etc.). When the user is exercising using medicine balls, dumbbells, other free weights, or the like, sensors like, without limitation, pressure sensors, accelerometers, or tension sensors, can be used to collect workout data such as the number of reps, the number of sets, the amount of weight lifted, wattage produced, or the like. Such sensors can be located externally to the medicine balls, dumbbells, other free weights (e.g., attached to the medicine balls, dumbbells, other free weights) or can be embedded within the medicine balls, dumbbells, other free weights. The exercise machine can transmit the health and/or workout data through a network to the central repository.

The health and/or workout data stored in the central repository can also be accessible by the user via a network connection. For example, the user can view the data at any time in a web browser. The data can be organized in charts, graphs, or any other visual representation. In addition, the data can be explained audibly for the visual impaired.

To improve the efficiency of a user's workout, the system can execute any application or applications of the user's choosing. In an embodiment, the application or applications executed can utilize the user's health and/or workout data retrieved from the central repository to send commands to an exercise machine, instructing the machine how to perform. An application can use some or all of the available user health and/or workout data. In another embodiment, the application or applications can extract health and/or workout data collected by an exercise machine to track a user's progress. In an additional embodiment, the application or applications can serve to entertain the user as the user performs his or her workout. In another embodiment, the application or applications can allow for at least two users to compete against one another. The application or applications can display each user's progress to the other such that at least two users could compete against one another even if there is a geographical distance separating the at least two users.

FIG. 1A is a diagram illustrating an embodiment of an exercise machine 130 in communication with a network 110. Exercise machine 130 can be an aerobic machine, lifting machine, or any other type of exercise equipment. For example, exercise machine 130 can include, without limitation, a treadmill, an elliptical, an exercise bicycle, a controlled weight machine, bench presses, or the like. Exercise machine 130 is not limited to fixed apparatuses, and can include medicine balls, dumbbells, other free weights, or the like. Network 110 can be a LAN, WAN, or the Internet. Exercise machine 130 can communicate with network 110 through network communication device 140, which can be embodied as a computer system. In an embodiment, exercise machine 130 is physically attached to network communication device 140, either directly or indirectly via an intermediary module. In another embodiment, exercise machine 130 is in wireless communication with network communication device 140. For example, network communication device 140 can communicate with exercise machine 130 via the 802.11 standard, the 802.15.4 standard, radio-frequency identification (RFID), NFC, Bluetooth, or any other wireless communication means.

Network communication device 140 can retrieve health and/or workout data collected from exercise machine 130 and transmit such data to user health information database 155 for storage. Likewise, network communication device 140 can retrieve health and/or workout data stored in user health information database 155. Network communication device 140 can also retrieve at least one application acquired by a user and stored in user application database 150. The at least one application retrieved from user application database 150 and health and/or workout data retrieved from user health information database 155 can be used by network communication device 140 to send command signals to exercise machine 130.

Network communication device 140 can also retrieve entertainment data stored in user entertainment database 160. Entertainment data can include, without limitation, music, movies, TV shows, books, magazines, games, crosswords, or other types of media. Network communication device 140 can transmit this entertainment data to exercise machine 130 to display or play such content.

User identifier device 120 is a module that can be used to uniquely identify an individual. A user may wish to log into exercise machine 130 such that the user can load his or her own applications, generate a customized exercise routine, and/or allow the system to record and store the user's health and/or workout data. User identifier device 120 can be any device that can uniquely identify an individual, including, without limitation, a biosensor, a fingerprint scanner, a card reader, a phone dock, a voice recognition module, a visual portal with a login screen, a retina scanner, a facial recognition module, or the like.

Data from user application database 150, user health information database 155, and/or user entertainment database 160 can be accessible by using a uniquely identifiable key. This key can be based off of data acquired by user identifier device 120 regarding the user. In an embodiment, user identifier device 120 can generate this key and transmit it to exercise machine 130 and/or network communication device 140. In another embodiment, user identifier device 120 can send data acquired from the user to exercise machine and/or network communication device 140, and network communication device 140 can generate the key.

In some embodiments, one or more of the databases described above can be implemented using a relational database, such as DB2, Sybase, MySQL, Oracle, CodeBase, and Microsoft® SQL Server as well as other types of databases such as a flat-file database, an entity relationship database, and object-oriented database, and/or a record-based database. The databases described above can be stored in a central repository or in different locations. The databases can be housed in a server apparatus or in a personal device, like a cell phone, a smart phone, a PDA, a tablet, a laptop, a desktop, a camera, a flash drive, a memory card, an optical disc, or the like. Note that while FIG. 1A depicts three databases, other embodiments can include more or fewer databases depending on the type of data a user may request. As is described herein, network communication device 140 can run operating system software and a user can request data through a web-enabled user access point. Accordingly, a user can request any data available through network 110 and supported by the operating system software.

FIG. 1B is a diagram illustrating an embodiment of exercise machine 130 in which network communication device 140 is embedded in exercise machine 130. While embedded in exercise machine 130, network communication device 140 can function as described above with respect to FIG. 1A. Likewise, the communications between user identifier device 120 and exercise machine 130 and/or network communication device 140 remain as described above with respect to FIG. 1A. Network communication 140 can still be in communication with network 110 in order to retrieve data stored in user application database 150, user health information database 155, and/or user entertainment database 160.

FIG. 1C is a diagram illustrating a user handheld device 180 that can acquire user health and/or workout data and communicate with a network 110. User handheld device 180 can be any portable device, including, without limitation, a laptop, a PDA, a cell phone, a smart phone, a pager, a tablet, an iPod, a camera, or the like. For example, user 190 can be exercising while carrying user handheld device 180, wearing user handheld device 180, or otherwise being near user handheld device 180. In some embodiments, one or more sensors are attached to user 190 and the measurements captured by the one or more sensors can be accessible by user handheld device 180 such that user handheld device 180 can transmit the health and/or workout data (e.g., data derived from the measurements captured by the one or more sensors) to user health information database 160 for storage. In other embodiments, one or more sensors can be attached to or included within the user handheld device 180 (e.g., coupled to the surface of user handheld device 180 via an electrical or mechanical connection, embedded within user handheld device 180, etc.). For example, the user 190 can be wearing the user handheld device 180 and the one or more sensors attached to or included within the user handheld device 180 can be in contact with the user 190. Measurements captured by the one or more sensors can be transmitted to the user handheld device 180 and the user handheld device 180 can transmit the health and/or workout data (e.g., data derived from the measurements captured by the one or more sensors) to user health information database 160 for storage. Note that user handheld device 180 can transmit health and/or workout data even if user 190 is not exercising. User handheld device 180 can transmit health and/or workout data related to any activity user 190 may be engaging in, including when user 190 is eating or idle. In this way, all activities user 190 engages in can be monitored and stored for future use.

FIG. 2 is a diagram illustrating a more detailed network communication device 140. Network communication device 140 includes an exercise routine module 260, user identifier module 270, and user application module 280, which carry out the functions, methods, and/or processes described herein. Exercise routine module 260, user identifier module 270, and user application module 280 are each executed on the network communication device 140 by a central processing unit 220 discussed further below.

In general the word “module,” as used herein, refers to logic embodied in hardware or firmware or to a collection of software instructions, having entry and exit points. Modules are written in a program language, such as JAVA, JavaScript, HTML, XML, CSS, AJAX, PHP, C, C#, or C++, or the like. Software modules can be compiled or linked into an executable program, installed in a dynamic link library, or can be written in an interpreted language such as BASIC letters, ASP, PERL, LUA, PHP, Ruby, Python, or the like. Software modules can be called from other modules or from themselves, and/or can be invoked in response to detected events or interruptions. Modules implemented in hardware include connected logic units such as gates and flip-flops, and/or can include programmable units, such as programmable gate arrays or processors.

Generally, the modules described herein refer to logical modules that can be combined with other modules or divided into sub-modules despite their physical organization or storage. The modules are executed by one or more computing systems, and can be stored on or within any suitable computer readable medium, or implemented in-whole or in-part within special designed hardware or firmware. Not all calculations, analysis, and/or optimization require the use of computer systems, though any of the above-described methods, calculations, processes, or analyses can be facilitated through the use of computers. Further, in some embodiments, process blocks described herein can be altered, rearranged, combined, and/or omitted.

Network communication device 140 includes one or more central processing units (CPU) 220, which can include a microprocessor. Network communication device 140 further includes a memory 240, such as random access memory (RAM) for temporary storage of information, a read only memory (ROM) for permanent storage of information, and a mass storage device 250, such as a hard drive, a flash drive, a memory card, a diskette, an optical media storage device, or the like. Alternatively, the mass storage device can be implemented in an array of servers. Typically, the components of the network communication device 140 are connected to the computer using a standards based bus system. The bus system can be implemented using various protocols, such as Peripheral Component Interconnect (PCI), Micro Channel, SCSI, Industrial Standard Architecture (ISA) and Extended ISA (EISA) architectures.

Network communication device 140 includes one or more input/output (I/O) devices and interfaces 210, such as a keyboard, mouse, touchpad, and printer. The I/O devices and interfaces 210 can include one or more display devices, such as a monitor, that allows the visual presentation of data to a user. More particularly, a display device provides for the presentation of GUIs as application software data, and multi-media presentations, for example. The I/O devices and interfaces 210 can also provide a communications interface to various external devices. The network communication device 140 can include one or more multi-media devices 230, such as speakers, video cards, graphics accelerators, and microphones, for example.

Network communication device 140 can run on a variety of computing devices, such as a server, a virtual server, a Windows server, and Structure Query Language server, a Unix Server, a Linux Server, a Mac Server, a personal computer, a laptop computer, and so forth. In other embodiments, network communication device 140 can run on a mainframe computer suitable for controlling and/or communicating with large databases, performing high volume transaction processing, and generating reports from large databases. Network communication device 140 is generally controlled and coordinated by an operating system software, such as z/OS, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Linux, Unix, BSD, SunOS, Solaris, tinyOS, iOS, Windows Mobile, Android, webOS, or other compatible operating systems, including proprietary operating systems. Operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, and I/O services, and provide a user interface, such as a graphical user interface (GUI), among other things.

Network communication device 140 is coupled to a network 110, such as a LAN, WAN, or the Internet via a communication link (wired, wireless, or a combination thereof). Network 110 communicates with various computing devices and/or other electronic devices. User application module 280 can access or can be accessed through a web-enabled user access point. Connections can be a direct physical connection, a virtual connection, and other connection type. The web-enabled user access point can include a browser module that uses text, graphics, audio, video, and other media to present data and to allow interaction with data via network 110. The browser module can display media associated with an application as well.

The browser module can also present advertisements based on identifiable or non-identifiable health and/or workout data captured by exercise machine 130 and/or stored in user health information database 155. Health and/or workout data captured by exercise machine 130 during the showing of a given advertisement can be relayed to the advertisers to provide feedback on the effectiveness or usefulness of an advertisement. For example, if a user's heart rate data spikes during the showing of a particular advertisement or if a user temporarily slows down during the showing of a particular advertisement, an advertiser can be notified that the advertisement may be pertinent to other individuals with similar health and/or workout data. Likewise, feedback on the effectiveness or usefulness of an advertisement can be transmitted for use in search engines. In this way, a user's health and/or workout data can be used to generate feedback on advertisements and, in conjunction with already accumulated user data, like web habits, can be used to produce more targeted and effective advertising. The same applies to e-commerce stores, where a user's health and/or workout data can be used to generate feedback on advertisements and, in conjunction with already accumulated user data, like spending habits, can be used to produce more targeted and effective advertising.

The browser module or other output module can be implemented as a combination of an all-points addressable display such as a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, a field emission display (FED), a surface-conduction electron-emitter display (SED), a light-emitting diode display (LED), an organic light-emitting diode display (OLED), an active-matrix organic light-emitting diode display (AMOLED), or other types and/or combinations of displays. The output module can be implemented to communicate with input devices 210 and they also include software with the appropriate interfaces which allow a user to access data through the use of stylized screen elements, such as menus, windows, dialogue boxes, tool bars, and controls (e.g., radio buttons, check boxes, sliding scales, and so forth). Furthermore, the output module can communicate with a set of input and output devices to receive signals from the user.

In an embodiment, user identifier module 270 receives user identification data from user identifier device 120, either directly or indirectly through exercise machine 130, and generates a key that can be used to extract data from user application database 150, user health information database 155, and/or user entertainment database 160 that corresponds to the user in question.

User application module 280 can receive at least one application relating to the user from user application database 150. In some embodiments, user application module 280 can also contain pre-selected applications, designated by the gymnasium, manufacturer, or other third party. In further embodiments, user application module 280 can also receive entertainment data from user entertainment database 160. User application module 280 can execute the at least one application based on a user preference. For example, the user can select one or more applications to execute through the web-enabled user access point.

Applications can be any program that could be executed by the operating system software loaded in network communication device 140. In an embodiment, an application could generate an exercise regimen for the user based on health and/or workout data received from user health information database 155. Once executed, user application module 280 could instruct exercise routine module 260 to generate command signals to control how exercise machine 130 functions. For example, in situations in which exercise machine 130 is an aerobic machine, exercise routine module 260 could send command signals to exercise machine 130 to instruct it to simulate running on an incline by adjusting the tension and/or slope of exercise machine 130. Furthermore, an application can simulate an actual geographical route, like a trail in Yosemite, by instructing exercise routine module 260 to send command signals to exercise machine 130 such that the tension and/or slope is adjusted according to the layout of the actual geographical route.

In addition, an application could inform the user of the particular exercise it is recommending through the web-enabled user access point or other display device. For example, in situations in which exercise machine 130 is a lifting machine, the web-enabled user access point or other display device could speak, display text, make a noise, vibrate, and/or flash a light to indicate to the user that he or she should do a certain number of reps or that the person has completed a particular set. If an application determines that the user should exercise on a different exercise machine, this information could be displayed or verbally spoken to the user through the web-enabled user access point as well.

In another embodiment, an application could play music or video based on entertainment data received from user entertainment database 160. In this way, a user would not need to bring his or her portable music and/or video device, like a cell phone, smart phone, cassette player, optical disc player, music file player, video file player, or the like, to listen to his or her own music or watch his or her own videos.

FIG. 3 is a diagram illustrating at least two network communication devices 340, 350, and/or 390 that can interact with each other through network 110 and host server system 380. In an embodiment, at least two users can exercise together and compete in real-time. For example, the at least two network communication devices 340, 350, and/or 390 can all execute an identical application or applications. Alternatively, one of the at least two network communication devices 340, 350, and/or 390 can execute an application. The network communication device 340, 350, or 390 that executes the application can then generate command signals to control each of the exercise machines 330 and 360 in communication with the at least two network communication devices 340, 350, and/or 390. Host server system 380 can serve as an intermediary device, establishing a forum in which users can find each other, hosting data related to each user's performance, and relaying such data to the other users. Each user can track his or her progress through the web-enabled user access point or other display device and compare his or her performance against the others also exercising at the same time. The application or applications executed by the at least two network communication devices 340, 350, and/or 390 can be any application that could be executed by the loaded operating system software. In this way, multiple users can exercise together even when geographically separated.

In another embodiment, at least two users can compete against one another even if they are not exercising together in real-time. Host server system 380 can store exercise information relating to a first user who exercised earlier than a second user. For example, host server system 380 can store the time it took for a first user to complete the exercise and/or how far the first user had run at a given point in time. When the second user begins his or her first exercise, he or she can view the first user's performance data in the web-enabled user access point or other display device. In this way, multiple users can exercise together even when their schedules dictate that they work out at different times of the day.

Note that while at least two users are competing and/or exercising with each other, each user's health and/or workout data can still be collected and stored in user health information database 160. Likewise, each user, by signing in via user identifier devices 320 and/or 370, can load and execute their own personal applications while exercising with others. For example, a user can load and execute an application that plays the user's music while racing against another user.

Host server system 380 can support any number of users. In this way, users can compete remotely in large-scale events, like a 10K race or a marathon.

FIG. 4 is a diagram illustrating user communication device 420 is similar to network communication device 140 as described above in FIGS. 1A, 1B, and 2. User communication device 420, however, does not communicate directly with network 110. Instead, user handheld device 430 serves as an intermediary between user communication device 420 and network 110. For example, if exercise machine 410 is not equipped with networking capabilities or it is otherwise impractical for exercise machine 410 to be in communication with network 110 in the gymnasium, user handheld device 430 can allow exercise machine 410 and user communication device 420 to communicate with network 110.

User handheld device 430 can be any device that can communicate with a network such as, without limitation, a cell phone, a smart phone, a PDA, a pager, a tablet, a laptop, a camera, a music and/or video player, a modem, a router, or the like. User handheld device 430 can communicate with user communication device 420 through wired or wireless communications. In an embodiment, user handheld device 430 can be physically docked to user communication device 420. User handheld device 430 can connect to user communication device 420 via Ethernet, USB 1.0, USB 2.0, USB 3.0, IEEE 1394, IEEE 1394a, IEEE 1394b, Thunderbolt, VGA, DVI, HDMI, optical fiber, serial port, parallel port, or the like. In other embodiments, user handheld device 430 can communicate with user communication device wirelessly via Bluetooth, NFC technology, the 802.11 standard, the 802.15.4 standard, RFID or the like. Likewise, user handheld device 430 can communicate with network 110 through similar wired or wireless standards.

User handheld device 430 can retrieve data from user application database 150, user health information database 155, and/or user entertainment database 160 for use by user communication device 420. User communication device 420 can utilize such data in the same way as network communication device 140 as described above with respect to FIGS. 1A, 1B, and 2. Likewise, user handheld device 430 can receive health and/or workout data from user communication device 420 and/or exercise machine 410 for storage in user health information database 155.

In an embodiment, a user identifier device 120, as described above with respect to FIGS. 1A, 1B, and 2, may not be necessary in order to uniquely identify an individual. A user using a personal user handheld device 430 can log in via user handheld device 430. In this way, even if a user is borrowing another person's user handheld device 430, the user can still retrieve and store his or her personal health and/or workout data. In other embodiments, a user identifier device similar to user identifier device 120 in FIGS. 1A, 1B, and 2 can be in communication with exercise machine 410. For example, some user handheld devices 430 may not have the means to allow a user to uniquely identify him or herself. A user identifier device similar to user identifier device 120 could be used to uniquely identify an individual, and user handheld device 430 could obtain this identity information to retrieve the appropriate data.

FIG. 5 is a diagram illustrating a more detailed user communication device 420. User communication device 420 can include eight modules: I/O devices and interfaces 510, at least one central processing unit (CPU) 520, multimedia devices 530, memory 540, mass storage device 550, exercise routine module 560, user identifier module 570, and user application module 580. In an embodiment, these modules function as their similarly named counterparts in network communication device 140 and as described with respect to FIG. 2.

FIG. 6 is a flowchart illustrating a process for loading and executing at least one application in network communication device 140 or user communication device 420. The process begins at block 610 with the process receiving user identification information from user identifier device 120 and/or exercise machine 130 as described above with respect to FIG. 1A. At block 620, the process transmits the user identification data to user application database 150, user health information database 155, and/or user entertainment database 160. In some embodiments, the process can generate a key or other database query code based on the user identification data. This key or code can be sent to all or some of the three databases to retrieve the requested data. At block 630, the process receives health and/or workout data, entertainment data, and/or application data from some or all of the three databases.

At block 640, the process identifies at least one application selected by the user. In an embodiment, the user can select an application using the web-enabled user access point or other display device as described herein. In some embodiments, the at least one application can be an application pre-selected by the gymnasium or manufacturer of exercise machine 130 and stored in network communication device 140. In other embodiments, the at least one application can be an application acquired by the user and stored in user application database 150.

At block 650, the process executes the at least one selected application to generate an exercise routine for the user on the exercise machine the user is currently operating. In addition, the execution can result in the generation of command signals to control operation of the exercise machine. In some embodiments, the execution can generate a message instructing the user to exercise on a different machine and provide an exercise routine for the different machine.

At block 660, the process transmits the generated command signals to an exercise machine being used by the user. As described herein, for example, the command signals can adjust the tension and/or slope of the exercise machine.

At block 670, the process receives health and/or workout data from exercise machine 130 generated by the user's exercising. As described herein, received health and/or workout data can include, without limitation, the number of reps done, the number of sets completed, the time taken between reps, the time taken between sets, the amount of weight lifted, distance run, speed, number of calories burned, heart rate, wattage produced, exercise equipment used, which exercise equipment is used the most, which exercise equipment is used the least, the time of day the workout took place, the time of the year the workout took place, preexisting conditions, prior injuries, muscle gained, fat lost, or the like.

At block 680, the process transmits the received health and/or workout data to user health information database 155. The process can automatically enter the data into the correct field based on a key or code generated from the user identification data, or based on the user identification data itself. At block 690 the process ends.

FIG. 7 is a flowchart illustrating a process for loading and executing at least one application on at least two exercise machines to allow at least two users to exercise and/or compete with each other. The process begins at block 705 and at block 710. At block 705, the process initiates a competition program. The process occurs at a first network device, which can be similar to network communication device 140 or user communication device 420 as described above with respect to FIGS. 1A, 1B, 2, and 4. In some embodiments, the competition program can be obtained from user application database 150. In other embodiments, the competition program can be pre-stored in network communication device 140 or user communication device 420.

At block 710, the process, at a second network device, transmits its availability to a host server, indicating that a second user is available to connect to others. Like with the first network device, the second network device can be similar to network communication device 140 or user communication device 420. The host server can be similar to host server system 380 as described above with respect to FIG. 3. Alternatively, not shown, the process can initiate the same competition program at the second network device as at the first network device. This can allow the process to later visualize the performance of each user in a uniform display viewable by both users.

At block 715, the process, at the host server, transmits information relating to available competitors to the first user through the first network device. Note that the host server and the first network device and the host server and the second network device can be in communication with each other through a network, like network 110 as described with respect to FIGS. 1A-C and 2-5. Accordingly, the host server is not limited in the number of users it can identify as being available.

At block 720, the process, at the first network device, identifies at least one competition selected by the first user. The first user can select one or more competitors through the web-enabled user access point, as described herein.

At block 725, the process, at the second network device, accepts a connection to the first network device. When the first user selects more than one available competitor, the process, at each addition network device, could accept a connection to the first network device.

At block 730, the process, at the first network device, identifies at least one selected application acquired by the first user and received from the user application database 150. Alternatively, not shown, the process can identify at least one application selected by the first user that was already pre-loaded at the first network device.

At block 735, the process, at the first network device, executes the at least one selected application to generate an exercise routine. The exercise routine can be based on the first user's health and/or workout data acquired from user health information database 155. Alternatively, not shown, the process, at both the first network device and the second network device, can execute the same application. Again, this can allow the process to later visualize the performance of each user in a uniform display viewable by both users.

At block 740, the process, at the first network device, transmits command signals to a first exercise machine and the second network device based on the generated exercise routine. Note that even if the process executes the application at the second network device, the process can still transmit the command signals to the second network device to ensure that both users are competing on an equal playing field.

At block 745, the process, at the second network device, receives command signals from the first network device based on the generated exercise routine. At block 750, the process, at the second network device, transmits these command signals to a second exercise machine. As described herein, the command signals can adjust the tension and/or slope of the second exercise machine.

At block 755, the process, at the first network device, receives health and/or workout data from the first exercise machine. At block 760, the process, at the first network device, transmits the received health and/or workout data to the user health information database 155 and/or the host server. In some embodiments, the host server may only receive data that is sufficient for each user to compare their progress against the other.

At block 765, the process, at the second network device, receives health and/or workout data from the second exercise machine. At block 770, the process, at the second network device, transmits the received health and/or workout data to the user health information database 155 and/or the host server. In some embodiments, the host server may only receive data that is sufficient for each user to compare their progress against the other.

At block 775, the process, at the host server, receives health and/or workout data from each user and transmits the same to the other user. In addition, not shown, the process can display performance data at the first network device and the second network device. The performance data can be based on the health and/or workout data received by the host server. At block 780, the process ends.

In other embodiments, not shown, at least two users can compete against each other at different times. For example, in this instance, the process would not need to initiate contact between the first network device and the second network device. A user at the first network device could complete his or her workout and the process could transmit the workout information and any exercise machine command signals to the host server. When a second user wishes to compete against a first user that has already completed his or her exercise, the process could transmit the workout information and any exercise machine command signals to the second network device. In this way, the second user could participate in the same exercise routine as the first user and compare his or her performance.

FIG. 8 is a diagram illustrating a system to power and/or charge hybrid and/or electric automobiles, airplanes, motor boats, motorcycles, scooters, or other like motor vehicles. Exercise machines 810 can be located in a gymnasium or other such establishment. While exercise machines 810 are in use, electrical energy can be generated. This electrical energy can be stored in storage device 815 for future use via transmission along transmission bus 820. Energy storage device 815 can be a capacitor or a rechargeable battery, such as, without limitation, lead acid, lithium ion, lithium ion polymer, nickel cadmium, nickel metal hydride, or reusable alkaline. Transmission bus 820 can be any type of line that can carry electrical current including, without limitation, a coaxial cable, a microstrip, a stripline, a balanced line, a twisted pair, a star quad, a twin-lead, a lecher line, a single-wire line, a waveguide, an optical fiber, or the like.

In some embodiments, the electrical energy can be transmitted along transmission bus 820 to other device charging stations 830, 840, 850, and/or 860. Other devices 835, 845, 855, and/or 865 can be coupled to any of other device charging stations 830, 840, 850, and/or 860. Other devices 835, 845, 855, and/or 865 and other device charging stations 830, 840, 850, and/or 860 can be coupled wirelessly or through wired communications. For example, without limitation, the connection can be inductive or through a cable like USB or IEEE 1394.

Other device charging stations 830, 840, 850, and/or 860 can be equipped to charge hybrid and/or electric motor vehicles, such as automobiles, airplanes, motor boats, motorcycles, scooters, or the like. In addition, other device charging stations 830, 840, 850, and/or 860 can be equipped to charge personal devices, such as cell phones, smart phones, PDAs, pagers, tablets, cameras, music and/or video players, laptops, or the like. Other device charging stations 830, 840, 850, and/or 860 can be located near a gymnasium or other establishment such that they can draw electrical energy from users exercising on exercising machines 810.

When none of other device charging stations 830, 840, 850, and/or 860 are in use, electrical energy that is generated can be stored in energy storage device 815. Likewise, when none of exercise machines 810 are in use, other device charging stations 830, 840, 850, and/or 860 can draw electrical energy from energy storage device 815 in order to charge other devices 835, 845, 855, and/or 865. Note that this embodiment is not limited to four charging stations or four other devices, nor does it require that at least four charging stations be built.

In an embodiment, the amount of electrical energy available to charge an other device 835, 845, 855, or 865 can depend on the amount of exercise completed by a user associated with the other device 835, 845, 855, and/or 865. For example, when initially docking his or her other device 835, 845, 855, and/or 865 for charging, a user can sign in to other device charging station 830, 840, 850, and/or 860. A user can sign in using a module similar to user identifier device 120 described herein with respect to FIGS. 1A, 1B, and 2. Likewise, a user can then subsequently sign in to an exercise machine 810 using a module similar to user identifier device 120 described herein with respect to FIGS. 1A, 1B, and 2. By signing in, the system can associate a particular exercise machine 810 a user is operating with the other device charging station 830, 840, 850, and/or 860 that the user's other device 835, 845, 855, and/or 865 is docked at. Each exercise machine 810 can track the amount of wattage generated by the user operating it and transmit this data to energy allocation controller 825.

Energy allocation controller 825 can be any device that can control the output of energy storage device 815. Energy allocation controller 825 can tally the total amount of wattage generated by all exercise machines 810 and then assign a percentage value to each user based on the amount of energy each user contributed to the total. Energy allocation controller 825 can then direct energy storage device 815 to distribute a percentage of its total stored energy to the other device charging station 830, 840, 850, and/or 860 associated with the user, where the distributed percentage is based on the percentage value assigned to the user.

In other embodiments, not shown, the electrical energy produced can be used to power the gymnasium or other such establishment itself. The amount of energy generated by a particular user could be tracked by exercise machines 810 and/or energy allocation controller 825, such that the user's membership dues are reduced proportionally or directly by the cost of energy he or she produced. Transmission bus 820 can also be coupled with the main power grid, and the electrical energy could be sold back to the utility company.

Although this invention has been disclosed in the context of certain preferred embodiments and examples, it will be understood by those skilled in the art that the present invention extends beyond the specifically disclosed embodiments to other alternative embodiments and/or uses of the invention and obvious modifications and equivalents thereof. Additionally, the skilled artisan will recognize that any of the above-described methods can be carried out using any appropriate apparatus. Further, the disclosure herein of any particular feature, aspect, method, property, characteristic, quality, attribute, element, or the like in connection with an embodiment can be used in all other embodiments set forth herein. Thus, it is intended that the scope of the present invention herein disclosed should not be limited by the particular disclosed embodiments described above.

Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include while other embodiments do not include, certain features, elements and/or blocks. Thus, such conditional language is not generally intended to imply that features, elements and/or blocks are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment. 

What is claimed is:
 1. A system for enabling competitive exercising, comprising: a server device configured to relay data over a network; a first network device in communication with the server device via the network and configured to: execute a competition program in response to a request by a first user; identify a second user that the server device indicates is available and that is selected by the first user; identify an application selected by the first user; generate an exercise routine based on execution of the application; transmit command signals to a first exercise machine; receive first user exercise data from the first exercise machine; transmit the first user exercise data to the server device; receive second user exercise data from the server device; and display the second user exercise data; a second network device in communication with the server device via the network and configured to: transmit data to the server device indicating that the second user is available; receive the command signals from the first network device in response to a selection of the second user by the first user; transmit the command signals to a second exercise machine; receive the second user exercise data from the second exercise machine; transmit the second user exercise data to the server device; receive the first user exercise data from the server device; and display the first user exercise data.
 2. The system of claim 1, wherein the second network device is further configured to accept a connection to the first network device in response to a selection of the second user by the first user.
 3. The system of claim 1, wherein first network device is further configured to: identify a plurality of users that the server device indicates are available and that are selected by the first user, wherein the first network; receive a plurality of user exercise data from the server device, wherein the plurality of user exercise data corresponds to the plurality of users; and display the plurality of user exercise data.
 4. The system of claim 1, wherein the first network device and the second network device are each configured to display the first user exercise data and the second user exercise data concurrently.
 5. The system of claim 1, wherein the first network device is configured to receive the first user exercise data from the first exercise machine at a first time, and wherein the second network device is configured to receive the second user exercise data from the second exercise machine at a second time separate from the first time.
 6. The system of claim 1, wherein the generated exercise routine is further based on user health data of the first user obtained from an electronic data store.
 7. A non-transitory computer readable storage medium having a computer program stored thereon for causing a computer system to process computer-program code by performing functions of at least one of the server device, the first network device, or the second network device of claim 1 when such program is executed on the computer system.
 8. A system for providing charging power, comprising: an exercise machine configured to generate power based on a use of the exercise machine by a user, wherein the exercise machine is further configured to: track an amount of power generated by the exercise machine; and transmit the power generated by the exercise machine to an energy storage device; and an energy allocation controller in communication with the exercise machine, the energy allocation controller configured to: receive a message from the exercise machine, wherein the message comprises an indication of the amount of power generated by the exercise machine and an identity of the user; determine a percentage value associated with the user, wherein the percentage value is based on a percentage of a total amount of power stored in the energy storage device that is contributed by the exercise machine; and transmit command signals to the energy storage device, wherein the command signals instruct the energy storage device to transmit a percentage of the total amount of power stored in the energy storage device to a charging station associated with the user, wherein the percentage of the total amount of power is based on the percentage value.
 9. The system of claim 8, further comprising: a second exercise machine configured to generate power based on a use of the second exercise machine by a second user, wherein the second exercise machine is further configured to transmit a second message to the energy allocation controller, wherein the second message comprises an indication of an amount of power generated by the second exercise machine and an identity of the second user.
 10. The system of claim 9, wherein the energy allocation controller is further configured to: determine a second percentage value associated with the second user, wherein the second percentage value is based on a percentage of a total amount of power stored in the energy storage device that is contributed by the second exercise machine; and transmit second command signals to the energy storage device, wherein the second command signals instruct the energy storage device to transmit a second percentage of the total amount of power stored in the energy storage device to a second charging station associated with the second user, wherein the second percentage of the total amount of power is based on the second percentage value.
 11. The system of claim 8, wherein the charging station is configured to charge a device associated with the user, and wherein the charging station is further configured to charge the device with power received from the energy storage device.
 12. The system of claim 8, wherein the device comprises at least one of a vehicle or a mobile device.
 13. A non-transitory computer readable storage medium having a computer program stored thereon for causing a computer system to process computer-program code by performing functions of at least one of the exercise machine or the energy allocation controller of claim 8 when such program is executed on the computer system. 